.\" Man page generated from reStructuredText.
.
.TH "CEPH-OBJECTSTORE-TOOL" "8" "Mar 12, 2022" "dev" "Ceph"
.SH NAME
ceph-objectstore-tool \- modify or examine the state of an OSD
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH 提纲
.nf
\fBceph\-objectstore\-tool\fP \-\-data\-path \fIpath to osd\fP [\-\-op \fIlist\fP ]
.fi
.sp
.sp
支持的对象操作：
.INDENT 0.0
.IP \(bu 2
(get|set)\-bytes [file]
.IP \(bu 2
set\-(attr|omap) [file]
.IP \(bu 2
(get|rm)\-attr|omap)
.IP \(bu 2
get\-omaphdr
.IP \(bu 2
set\-omaphdr [file]
.IP \(bu 2
list\-attrs
.IP \(bu 2
list\-omap
.IP \(bu 2
remove|removeall
.IP \(bu 2
dump
.IP \(bu 2
set\-size
.IP \(bu 2
clear\-data\-digest
.IP \(bu 2
remove\-clone\-metadata
.UNINDENT
.SH 描述
.sp
\fBceph\-objectstore\-tool\fP 工具是用于修改 OSD 状态的。它能够修改对象内容、删除对象、罗列 omap 、修改 omap 头部、修改 omap 键、罗列对象属性、修改对象属性键。
.sp
\fBceph\-objectstore\-tool\fP 有两个主要用法： (1) 指定了 "\-\-op" 参数的模式（例如 \fBceph\-objectstore\-tool\fP \-\-data\-path $PATH_TO_OSD \-\-op $SELECT_OPERATION [\-\-pgid $PGID] [\-\-dry\-run]），还有 (2) 定位对象操作，在此模式下，对象可以按 ID 或 \fB\-\-op list\fP 的 JSON 格式输出来指定。
.nf
\fBceph\-objectstore\-tool\fP \-\-data\-path \fIpath to osd\fP [\-\-pgid \fI$PG_ID\fP ][\-\-op \fIcommand\fP]
\fBceph\-objectstore\-tool\fP \-\-data\-path \fIpath to osd\fP [ \-\-op \fIlist $OBJECT_ID\fP]
.fi
.sp
.sp
支持的 \-\-op 命令：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
* info
* log
* remove
* mkfs
* fsck
* repair
* fuse
* dup
* export
* export\-remove
* import
* list
* list\-slow\-omap
* fix\-lost
* list\-pgs
* dump\-journal
* dump\-super
* meta\-list
* get\-osdmap
* set\-osdmap
* get\-inc\-osdmap
* set\-inc\-osdmap
* mark\-complete
* reset\-last\-complete
* apply\-layour\-settings
* update\-mon\-db
* dump\-export
* trim\-pg\-log
.ft P
.fi
.UNINDENT
.UNINDENT
.SH 安装
.sp
\fBceph\-objectstore\-tool\fP 在 \fIceph\-osd\fP 软件包里。
.SH 实例
.SS 对象的修改
.sp
这些命令可修改一个 OSD 的状态，使用 ceph\-objectstore\-tool 时这个 OSD 一定不能运行。
.SS 罗列对象和归置组
.sp
确保目标 OSD 处于停机状态:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
用 ceph\-objectstore\-tool 罗列对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
找出一个 OSD 内的所有对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-op list
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
找出一个归置组内的所有对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID \-\-op list
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
找出一个对象所属的归置组（ PG ）:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-op list $OBJECT_ID
.ft P
.fi
.UNINDENT
.UNINDENT
.SS 丢失对象的修正
.sp
确保此 OSD 处于停机状态:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
修正所有丢失的对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-op fix\-lost
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
修正指定归置组内、所有丢失的对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID \-\-op fix\-lost
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
根据标识符修正一个丢失的对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-op fix\-lost $OBJECT_ID
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
修正以前丢失的对象:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-op fix\-lost
.ft P
.fi
.UNINDENT
.UNINDENT
.SS 修改一个对象的内容
.INDENT 0.0
.IP 1. 3
确保目标 OSD 处于停机状态:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 2. 3
通过罗列此 OSD 或归置组内的对象找到要修改的对象。
.IP 3. 3
在对象中写入字节串之前，先做此对象的备份和工作副本。下面是此命令的语法格式:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT get\-bytes > $OBJECT_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.sp
例如:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq get\-bytes > zone_info.default.backup

[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq get\-bytes > zone_info.default.working\-copy
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
第一个命令创建了备份副本，而第二个命令创建的是工作副本。
.INDENT 0.0
.IP 4. 3
编辑工作副本那个对象文件。
.IP 5. 3
填入此对象的变更字节:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT set\-bytes < $OBJECT_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.sp
例如:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq set\-bytes < zone_info.default.working\-copy
.ft P
.fi
.UNINDENT
.UNINDENT
.SS 对象的删除
.sp
用 \fBceph\-objectstore\-tool\fP 删除对象。对象被删除后，其内容以及引用都会从归置组（ PG ）删除。
.sp
删除一个对象（语法）:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT remove
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
删除一个对象（实例）:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq remove
.ft P
.fi
.UNINDENT
.UNINDENT
.SS 罗列对象图
.sp
用 ceph\-objectstore\-tool 罗列对象图（ OMAP ）的内容。其输出是一系列键名。
.INDENT 0.0
.IP 1. 3
确认此 OSD 处于停机状态：
.sp
语法:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# systemctl status ceph\-osd@1
.ft P
.fi
.UNINDENT
.UNINDENT
.IP 2. 3
罗列其对象图：
.sp
语法:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT list\-omap
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 3.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq list\-omap
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.SS 修改 OMAP 的头部
.sp
\fBceph\-objectstore\-tool\fP 工具可以按键值对输出 OMAP 头部。
.sp
注意：如果用 FileStore 作为 OSD 后端对象存储库，那么获取或设置 omap 头时需要加 \fI\-\-journal\-path $PATH_TO_JOURNAL\fP 参数，其中 \fI$PATH_TO_JOURNAL\fP 变量是 OSD 日志的绝对路径，例如 \fI/var/lib/ceph/osd/ceph\-0/journal\fP 。
.SS 必备条件
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
有 Ceph OSD 节点的 root 权限
.IP \(bu 2
停掉 ceph\-osd 守护进程
.UNINDENT
.UNINDENT
.UNINDENT
.SS 流程
.sp
确保目标 OSD 处于停机状态：
.INDENT 0.0
.INDENT 3.5
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# systemctl status ceph\-osd@1
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.sp
取出 omap 头：
.INDENT 0.0
.INDENT 3.5
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT get\-omaphdr > $OBJECT_MAP_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq  get\-omaphdr > zone_info.default.omaphdr.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.sp
设置 omap 头：
.INDENT 0.0
.INDENT 3.5
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT get\-omaphdr < $OBJECT_MAP_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq  set\-omaphdr < zone_info.default.omaphdr.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SS 修改 OMAP 的某个键
.sp
使用 \fBceph\-objectstore\-tool\fP 工具更改 OMAP 键，你得提供数据路径、归置组标识符（ PG ID ）、对象、和 OMAP 的键名。
.sp
注意：如果用 FileStore 作为 OSD 后端对象存储库，那么获取、设置或删除 omap 键时需要加 \fI\-\-journal\-path $PATH_TO_JOURNAL\fP 参数，其中 \fI$PATH_TO_JOURNAL\fP 变量是 OSD 日志的绝对路径，例如 \fI/var/lib/ceph/osd/ceph\-0/journal\fP 。
.sp
必备条件
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
有 Ceph OSD 节点的 root 权限
.IP \(bu 2
停掉 ceph\-osd 守护进程
.UNINDENT
.UNINDENT
.UNINDENT
.sp
流程
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.INDENT 3.5
获取 OMAP 键：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT get\-omap $KEY > $OBJECT_MAP_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq  get\-omap "" > zone_info.default.omap.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
设置此 OMAP 键：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT set\-omap $KEY < $OBJECT_MAP_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq set\-omap "" < zone_info.default.omap.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
删除这个 OMAP 键：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT rm\-omap $KEY
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq rm\-omap ""
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SS 罗列一个对象的属性
.sp
用 \fBceph\-objectstore\-tool\fP 工具罗列某一对象的属性。其输出是此对象的键名和值。
.sp
注意：如果用 FileStore 作为 OSD 后端对象存储库，而且日志位于不同的磁盘上，那么罗列此对象的属性时需要加 \fI\-\-journal\-path $PATH_TO_JOURNAL\fP 参数，其中 \fI$PATH_TO_JOURNAL\fP 变量是 OSD 日志的绝对路径，例如 \fI/var/lib/ceph/osd/ceph\-0/journal\fP 。
.SS 必备条件
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
有 Ceph OSD 节点的 root 权限
.IP \(bu 2
停掉 ceph\-osd 守护进程
.UNINDENT
.UNINDENT
.UNINDENT
.SS 流程
.INDENT 0.0
.INDENT 3.5
确保目标 OSD 处于停机状态：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# systemctl status ceph\-osd@1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
罗列此对象的属性：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT list\-attrs
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq list\-attrs
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SS 修改对象的属性键
.sp
用 ceph\-objectstore\-tool 工具更改一个对象的属性。要修改此对象的属性，你得有数据和日志路径、归置组标识符（ PG ID ）、对象、还有对象属性的键名。
.sp
注意：如果用 FileStore 作为 OSD 后端对象存储库，而且日志位于不同的磁盘上，那么获取、设置或删除对象属性时需要加 \fI\-\-journal\-path $PATH_TO_JOURNAL\fP 参数，其中 \fI$PATH_TO_JOURNAL\fP 变量是 OSD 日志的绝对路径，例如 \fI/var/lib/ceph/osd/ceph\-0/journal\fP 。
.sp
必备条件
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
有 Ceph OSD 节点的 root 权限
.IP \(bu 2
停掉 ceph\-osd 守护进程
.UNINDENT
.UNINDENT
.UNINDENT
.sp
流程
.sp
确保目标 OSD 处于停机状态：
.INDENT 0.0
.INDENT 3.5
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
systemctl status ceph\-osd@$OSD_NUMBER
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# systemctl status ceph\-osd@1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
获取此对象的属性：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT get\-attrs $KEY > $OBJECT_ATTRS_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0  \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq get\-attrs "oid" > zone_info.default.attr.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
设置一个对象的属性：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT  set\-attrs $KEY < $OBJECT_ATTRS_FILE_NAME
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq set\-attrs "oid" < zone_info.default.attr.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
删除对象属性：
.sp
语法:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-objectstore\-tool \-\-data\-path $PATH_TO_OSD \-\-pgid $PG_ID $OBJECT rm\-attrs $KEY
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
实例:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
[root@osd ~]# ceph\-objectstore\-tool \-\-data\-path /var/lib/ceph/osd/ceph\-0 \-\-pgid 0.1c \(aq{"oid":"zone_info.default","key":"","snapid":\-2,"hash":235010478,"max":0,"pool":11,"namespace":""}\(aq rm\-attrs "oid"
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SH 选项
.INDENT 0.0
.TP
.B \-\-help
输出帮助消息
.UNINDENT
.INDENT 0.0
.TP
.B \-\-type arg
参数 arg 是 [bluestore (默认的), filestore, memstore] 其中之一。此工具不能确定 \-\-data\-path 的类型时需要加此选项。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-data\-path arg
对象存储器的路径，必备参数；
.UNINDENT
.INDENT 0.0
.TP
.B \-\-journal\-path arg
日志路径，此工具找不到时需要加。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-pgid arg
PG id, info, log, remove, export, export\-remove, mark\-complete, trim\-pg\-log 命令必备，另外 apply\-layout\-settings 如果没 \-\-pool 时就必须加此选项。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-pool arg
存储池名字， apply\-layout\-settings 如果没指定 \-\-pgid 就必须加此选项。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-op arg
参数 arg 是 [info, log, remove, mkfs, fsck, repair, fuse, dup, export, export\-remove, import, list, fix\-lost, list\-pgs, dump\-journal, dump\-super, meta\-list, get\-osdmap, set\-osdmap, get\-inc\-osdmap, set\-inc\-osdmap, mark\-complete, reset\-last\-complete, apply\-layout\-settings, update\-mon\-db, dump\-export, trim\-pg\-log] 其中之一。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-epoch arg
为 get\-osdmap 和 get\-inc\-osdmap 指定 epoch 号，如果没指定就用当前的 epoch 号。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-file arg
export, export\-remove, import, get\-osdmap, set\-osdmap, get\-inc\-osdmap 或  set\-inc\-osdmap 操作所需的文件路径。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-mon\-store\-path arg
update\-mon\-db 所需的 monstore 路径。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-fsid arg
mkfs 新建存储的 fsid 。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target\-data\-path arg
目标对象存储器的路径（ \-\-op dup 需要）。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-mountpoint arg
fuse 挂载点。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-format arg (=json\-pretty)
输出格式，可以是 json, json\-pretty, xml, xml\-pretty
.UNINDENT
.INDENT 0.0
.TP
.B \-\-debug
让诊断信息输出到 stderr 。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-force
忽略某些类型的错误、并继续操作 \- \fB慎用：可能损坏数据，现在或将来都是！\fP
.UNINDENT
.INDENT 0.0
.TP
.B \-\-skip\-journal\-replay
禁用日志重放。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-skip\-mount\-omap
禁用 omap 的挂载。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-head
按名字搜索对象时也去 head 、 snapdir 里找。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-dry\-run
不要真的修改 objectstore
.UNINDENT
.INDENT 0.0
.TP
.B \-\-namespace arg
搜索对象时指定命名空间。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-rmtype arg
已损坏对象删除时指定 \(aqsnapmap\(aq 或是 \(aqnosnapmap\(aq \- \fB仅用于测试\fP
.UNINDENT
.SH 错误码
.sp
"Mount failed with \(aq(11) Resource temporarily unavailable" \- 可能是你试图在一个运行着的 OSD 上运行 \fBceph\-objectstore\-tool\fP 。
.SH 使用范围
.sp
\fBrgw\-orphan\-list\fP 是 Ceph 的一部分，这是个伸缩力强、开源、
分布式的存储系统，更多信息参见 \fI\%https://docs.ceph.com\fP 。
.SH COPYRIGHT
2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)
.\" Generated by docutils manpage writer.
.
